//-----------------------------------------------------------------------
// <copyright file="Seating.cs" company="tuliprules.org">
//     Copyright (c) 2010 tuplelister, tuliprules.org.
// </copyright>
// <summary>This is the Path Seating.</summary>
//-----------------------------------------------------------------------

namespace Tulip.Benchmarks.Manners.Model
{
    /// <summary>
    /// Miss Mannners - Seating class
    /// </summary>
    public class Seating
    {
        /// <summary>
        /// Number of left seat. 
        /// </summary>
        private int seat1;

        /// <summary>
        /// Name of left guest.
        /// </summary>
        private string name1;

        /// <summary>
        /// Name of right guest.
        /// </summary>
        private string name2;

        /// <summary>
        /// Number of right seat.
        /// </summary>
        private int seat2;

        /// <summary>
        /// Seating ID.
        /// </summary>
        private int id;

        /// <summary>
        ///  Path ID.
        /// </summary>
        private int pid;

        /// <summary>
        /// Path done flag - yes | no.
        /// </summary>
        private string pathDone;

        /// <summary>
        /// Initializes a new instance of the <see cref="Seating"/> class. 
        /// </summary>
        /// <param name="seat1">
        /// Number of left seat.
        /// </param>
        /// <param name="name1">
        /// Name of left guest.
        /// </param>
        /// <param name="name2">
        /// Name of right guest.
        /// </param>
        /// <param name="seat2">
        /// Number of right seat.
        /// </param>
        /// <param name="id">
        /// Seating ID.
        /// </param>
        /// <param name="pid">
        /// Path ID.
        /// </param>
        /// <param name="pathDone">
        /// Path done flag - yes | no.
        /// </param>
        public Seating(int seat1, string name1, string name2, int seat2, int id, int pid, string pathDone)
        {
            this.seat1 = seat1;
            this.name1 = name1;
            this.name2 = name2;
            this.seat2 = seat2;
            this.id = id;
            this.pid = pid;
            this.pathDone = pathDone;
        }

        /// <summary>
        /// Gets or sets the number of the left seat.
        /// </summary>
        public int Seat1
        {
            get
            {
                return this.seat1;
            }

            set
            {
                this.seat1 = value;
            }
        }

        /// <summary>
        /// Gets or sets the name of the left guest.
        /// </summary>
        public string Name1
        {
            get
            {
                return this.name1;
            }

            set
            {
                this.name1 = value;
            }
        }

        /// <summary>
        /// Gets or sets the name of the right guest.
        /// </summary>
        public string Name2
        {
            get
            {
                return this.name2;
            }

            set
            {
                this.name2 = value;
            }
        }

        /// <summary>
        /// Gets or sets the number of the right seat.
        /// </summary>
        public int Seat2
        {
            get
            {
                return this.seat2;
            }

            set
            {
                this.seat2 = value;
            }
        }

        /// <summary>
        /// Gets or sets the seating ID.
        /// </summary>
        public int Id
        {
            get
            {
                return this.id;
            }

            set
            {
                this.id = value;
            }
        }
    
        /// <summary>
        /// Gets or sets the path ID.
        /// </summary>
        public int Pid
        {
            get
            {
                return this.pid;
            }

            set
            {
                this.pid = value;
            }
        }
    
        /// <summary>
        /// Gets or sets the 'path done' flag - yes | no.
        /// </summary>
        public string PathDone
        {
            get
            {
                return this.pathDone;
            }

            set
            {
                this.pathDone = value;
            }
        }

        /// <summary>
        /// Returns a text representation of the Seating object.
        /// </summary>
        /// <returns>
        /// A text representation of the Seating object.
        /// </returns>
        public override string ToString()
        {
            return string.Format("(seating (id {0}) (pid {1}) (seat1 {2}) (name1 {3}) (name2 {4}) (seat2 {5}) (path_done {6}))", this.id, this.pid, this.seat1, this.name1, this.name2, this.seat2, this.pathDone);
        }
    }
}
